/*
* ui layer wrapping imgui functions.
*/
#pragma once

#include "ext/imgui/imgui_impl_opengl3.h"
#include "ext/imgui/imgui_impl_glfw.h"
#include "ext/imgui/imgui.h"
#include <string>

namespace teflon
{
    class UILayer
    {
    private:
        ImGuiIO io;

    public:
        UILayer();
        ~UILayer();

        void Initialize(GLFWwindow* window);

        void BeginFrame();
        void EndFrame();
        void BeginWindow(const std::string& window_name);
        void EndWindow();

        void ShowDemoWindow();
        void ShowSample();

        void Slider(float& value);
        // void textbox();
        // void button();
    };
}
